Python Forum

Full Version: How to sort .csv file test log which item first fail and paint color
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
def myApp():
    # save all .csv as .xlsx
    import pandas as pd
    import glob

    savepath = '/home/pedro/myPython/pandas/'
    files = glob.glob(savepath + '*.csv')

    for csv in files:
        print(csv)
        df = pd.read_csv(csv_file)
        name = csv.split('.')        
        df.to_excel(name[0] + '.xlsx', index=False)
(Sep-01-2022, 07:49 AM)Pedroski55 Wrote: [ -> ]
def myApp():
    # save all .csv as .xlsx
    import pandas as pd
    import glob

    savepath = '/home/pedro/myPython/pandas/'
    files = glob.glob(savepath + '*.csv')

    for csv in files:
        print(csv)
        df = pd.read_csv(csv_file)
        name = csv.split('.')        
        df.to_excel(name[0] + '.xlsx', index=False)

Thank you so much for your help. But used this converted to xlsx seems got error format. Actually I have try other way converted it as this wrong format yet, so still try csv library and pandas. You can refer to attached.
There was a mistake in line 11

Quote:>>> myApp()
/home/pedro/myPython/pandas/csv_files/poll_count20BECW.csv
Traceback (most recent call last):
File "/usr/lib/python3.8/idlelib/run.py", line 559, in runcode
exec(code, self.locals)
File "<pyshell#2>", line 1, in <module>
File "<pyshell#1>", line 11, in myApp
NameError: name 'csv_file' is not defined

Line 11 should be:

df = pd.read_csv(csv)

This very quickly converted 3 csv files to Excel.

def myApp():
    # save all .csv as .xlsx
    import pandas as pd
    import glob

    savepath = '/home/pedro/myPython/pandas/csv_files/'
    files = glob.glob(savepath + '*.csv')

    for csv in files:
        print(csv)
        df = pd.read_csv(csv)
        name = csv.split('.')        
        df.to_excel(name[0] + '.xlsx', index=False)
Output:
>>> myApp() /home/pedro/myPython/pandas/csv_files/poll_count20BECW.csv /home/pedro/myPython/pandas/csv_files/Log.csv /home/pedro/myPython/pandas/csv_files/poll_count20BECW (1).csv >>>
I often do this the other way round: use pandas to create an Excel, then use pandas to convert that to csv.

Then I can import the csv into MySQL.
import glob
import os
import csv
import xlsxwriter

files = glob.glob(r'C:\Users\Sam\OneDrive\Desktop\python_demo\*.csv')
workbook = xlsxwriter.Workbook(r'C:\Users\Sam\OneDrive\Desktop\python_demo\Log.xlsx')

row_numer = 0

for file_path in files:
    file = open(file_path)
    csvreader = csv.reader(file)

    file_name = os.path.basename(file_path)
    file_no_ext = os.path.splitext(file_name)[0]
    worksheet1 = workbook.add_worksheet(file_no_ext)
    row_numer = 0
    for row in csvreader:
        for index in range(len(row)):
            worksheet1.write(row_numer, index, row[index])
        row_numer += 1
    file.close()
workbook.close()









import csv
import openpyxl

def csv_to_excel(csv_filename, excel_filename):
    # Read CSV file
    csv_data = []
    with open(csv_filename) as f:
        csv_data = [row for row in csv.reader(f)]

    # Write to Excel file
    workbook = openpyxl.workbook.Workbook()
    worksheet = workbook.active
    for row in csv_data:
        worksheet.append(row)
    workbook.save(excel_filename)


if __name__ == "__main__":
    csv_to_excel("Log.csv", "Log.xlsx")
Tried two ways to converted from .csv to 。xlsx.content format is string,but save as .xlsx by manual format keep it.
Looks good!

Everything OK now??
Pages: 1 2 3