我正在尝试将 Excel 转换为 csv。 Excel 具有以下标题 -
DATE,FIELD1,FEEDER BRANCH,50,100,200,500,1000,2000,FIELD2,50,100,200,500,1000,2000,FIELD3,50,100,200,500,1000,2000
如图所示,有些列是重复的。使用 pandas 加载 Excel 时,它会在其中附加一个索引号。例如。重复时,
50 becomes 50.1, 100 becomes 100.1
...等等。
如何加载没有这个后缀的Excel。我希望 col 标题保持原样,以便在写入 csv 时,保留相同的标题。
当前代码:
def pandas_csv_from_excel(source):
dir_and_file = source.split('/')
filename = dir_and_file[len(dir_and_file) - 1].split('.')
if not ((filename[1]).lower().startswith('xls')):
return source
csv_filename = f"{os.path.join(os.path.dirname(source), filename[0].lower())}.csv"
location = os.path.dirname(source)
df = pd.read_excel(source, index_col=None)
df.to_csv(csv_filename, index=None)
return csv_filename
尝试使用标头参数为 None
import pandas as pd
df = pd.read_excel('path/to/file.xlsx', header=None)
df.columns = df.iloc[0] # Set the column names to the first row
df = df[1:]
df.reset_index(drop=True, inplace=True)
df.to_csv('output.csv', index=False)