python如何合并csv
时间: 2024-03-21 09:34:55 浏览: 60
以下是两种合并CSV文件的方法:
1. 使用glob方法遍历所有文件,读取数据并追加保存到文件中:
```python
import glob
csv_list = glob.glob('*.csv')
print('共发现%s个CSV文件'% len(csv_list))
print('正在处理............')
for i in csv_list:
fr = open(i,'r',encoding='utf-8').read()
with open('文件合集.csv','a',encoding='utf-8') as f:
f.write(fr)
print('合并完毕!')
```
2. 使用pandas的read_csv和to_csv方法合并CSV文件:
```python
import pandas as pd
# 读取文件
df1 = pd.read_csv("文件-1.csv")
df2 = pd.read_csv("文件-2.csv")
# 合并
df = pd.concat([df1, df2])
df.drop_duplicates() # 数据去重
# 保存合并后的文件
df.to_csv('文件.csv', encoding='utf-8')
```
相关问题
python合并csv文件
可以使用Pandas库中的concat函数来合并csv文件。代码如下:
```python
import pandas as pd
# 读取所有csv文件
filepaths = ['file1.csv', 'file2.csv', 'file3.csv']
dfs = [pd.read_csv(fp) for fp in filepaths]
# 合并所有数据
merged = pd.concat(dfs)
# 将结果保存到新的csv文件
merged.to_csv('merged.csv', index=False)
```
这段代码会将`file1.csv`、`file2.csv`和`file3.csv`中的所有数据合并到一个DataFrame中,然后将结果保存到`merged.csv`文件中。
用python合并csv
### 使用 Python 和 Pandas 合并多个 CSV 文件
为了合并多个 CSV 文件,可以利用 `pandas` 库中的功能来实现这一目标。通常情况下,这些文件可能位于同一目录下,并且拥有相同的结构和列名。
首先,需要导入必要的库:
```python
import os
import glob
import pandas as pd
```
接着定义函数用于遍历指定路径下的所有 CSV 文件并将它们逐一加载到 DataFrame 中,最后通过 `pd.concat()` 函数将所有的 DataFrames 进行纵向连接形成一个新的 DataFrame:
```python
def merge_csv_files(folder_path):
all_data = pd.DataFrame()
# 获取给定文件夹内所有 .csv 文件的列表
csv_files = glob.glob(os.path.join(folder_path, "*.csv"))
for f in csv_files:
df = pd.read_csv(f, sep=',') # 设置分隔符为逗号[^1]
all_data = pd.concat([all_data, df], ignore_index=True)
return all_data
```
如果遇到一些特殊情况,比如某些 CSV 文件存在重复标题行,则可以在读取时跳过特定行数以避免数据混乱:
```python
header_row = 5 # 假设前五行不是有效数据而是说明文字或其他信息
df_special_case = pd.read_csv('special_file.csv', skiprows=header_row, header=0)[^2]
```
上述方法适用于大多数场景;然而,在实际应用中还需要考虑其他因素如内存占用情况、编码方式差异等问题。对于非常大的数据集来说,建议采用更高效的方式处理大容量的数据流。
阅读全文
相关推荐













