在Python中进行数据处理时,读写不同格式的数据文件是常见的任务。以下是一些Python处理文本、CSV、Excel以及其他常见数据格式的读写方法:
1. 文本文件(txt)读写:
- 写入文本文件:
```python使用内置open函数
with open('example.txt', 'w', encoding='utf-8') as f:
f.write('Hello, World!\n')
f.write('Another line.\n')
若要追加内容而不是覆盖文件:
with open('example.txt', 'a', encoding='utf-8') as f:
f.write('Appended text.\n')
- 读取文本文件:
```python
with open('example.txt', 'r', encoding='utf-8') as f:
content = f.read()
print(content)
2. CSV文件读写:
- 使用
csv模块写入CSV:
```python
import csv
data = [['Name', 'Age'], ['张无忌', '30'], ['宋青书', '25']]
with open('people.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerows(data)
- 读取CSV文件:
```python
import csv
with open('people.csv', 'r', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
3. Excel文件读写:
- 使用
openpyxl或pandas库读写Excel文件:
```python使用openpyxl
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = '姓名'
ws['B1'] = '年龄'
...添加更多数据
wb.save('people.xlsx')
读取Excel
from openpyxl import load_workbook
wb = load_workbook('people.xlsx')
ws = wb.active
name = ws['A1'].value
age = ws['B1'].value
或使用pandas
import pandas as pd
写入Excel
df = pd.DataFrame({'姓名': ['张无忌', '宋青书'], '年龄': [30, 25]})
df.to_excel('people.xlsx', index=False)
读取Excel
df = pd.read_excel('people.xlsx')
### 4. **二进制文件读写**:
- 读写二进制文件如图片、音频等,可以使用`open`函数加上模式'b':
```python
with open('binary_file.bin', 'wb') as f:
binary_data = b'some binary data'
f.write(binary_data)
with open('binary_file.bin', 'rb') as f:
read_data = f.read()
5. JSON数据读写:
- 使用
json模块读写JSON文件:
```python
import json
写入JSON
data = {'name': '张无忌', 'age': 30}
with open('person.json', 'w', encoding='utf-8') as f:
json.dump(data, f)
读取JSON
with open('person.json', 'r', encoding='utf-8') as f:
loaded_data = json.load(f)
print(loaded_data)
```
6. 数据库读写:
- 对于数据库操作,例如SQLite、MySQL、PostgreSQL等,可使用
sqlite3、pymysql、psycopg2等对应的Python库。
以上都是Python中进行数据读写的基本示例,根据实际需求选择合适的方法和库。